local yongwuwudi = fk.CreateSkill {
  name = "yongwuwudi",
  tags = { Skill.Compulsory },
}

Fk:loadTranslationTable{
  ["yongwuwudi"] = "勇武无敌",
  [":yongwuwudi"] = "持恒技，你使用【杀】无次数上限",

}

yongwuwudi:addEffect("targetmod", {
  -- 定义一个函数 bypass_times，用于判断是否绕过次数限制
  -- self: 指向当前效果对象
  -- player: 拥有该技能的玩家对象
  -- skill: 当前正在使用的技能对象
  -- scope: 技能使用的阶段范围
  -- card: 当前使用的卡牌对象
  bypass_times = function(self, player, skill, scope, card)
    -- 检查玩家是否拥有 "yongwuwudi" 技能
    -- 检查是否有卡牌被使用
    -- 检查当前技能的真实名称是否为 "slash_skill"
    -- 检查技能使用的阶段范围是否为 Player.HistoryPhase
    if player:hasSkill(yongwuwudi.name) and card and skill.trueName == "slash_skill" and scope == Player.HistoryPhase then
      -- 如果满足上述条件，则返回 true，表示绕过次数限制
      return true
    end
  end,
})

-- 为技能 "yongwuwudi" 添加一个名为 fk.CardUsing 的效果
yongwuwudi:addEffect(fk.CardUsing, {
  -- 定义一个函数 can_refresh，用于判断是否可以刷新技能效果
  -- event: 事件对象
  -- target: 技能的目标玩家对象
  -- player: 拥有该技能并使用卡牌的玩家对象
  -- data: 卡牌使用相关的数据对象
  can_refresh = function(self, event, target, player, data)
    -- 检查目标玩家是否就是使用技能的玩家
    -- 检查玩家是否拥有 "yongwuwudi" 技能
    -- 检查使用的卡牌的真实名称是否为 "slash"
    -- 检查是否不是额外使用该卡牌
    -- 检查玩家在 Player.HistoryPhase 阶段使用 "slash" 卡牌的次数是否大于 1
    return target == player and player:hasSkill(yongwuwudi.name) and
      data.card.trueName == "slash" and not data.extraUse and
      player:usedCardTimes("slash", Player.HistoryPhase) > 1
  end,
})

return yongwuwudi